Mobile device control leveraging user kinematics

ABSTRACT

Some embodiments of the invention provide methods and apparatus for controlling an aspect of the presentation of objects in a mobile or wearable device, where the user is performing a gait activity such as walking, jogging or running, and the controlling is performed leveraging the gait characteristics of the user. In some embodiments, the gait characteristics include velocity and stride length. In some embodiments, the only sensors utilized to obtain any contextual information are accelerometers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional PatentApplication Ser. No. 62/249,371, by David Martin, filed on Nov. 2, 2015,entitled “Mobile device control leveraging user kinematics”.

BACKGROUND Field

This application relates to mobile and wearable devices, specifically tomethodologies to leverage user's gait characteristics.

Discussion of Related Art

Sensors within mobile and wearable devices allow monitoring of somephysical activities. Current technologies and devices enable activityrecognition with certain degree of accuracy, depending on the type andquality of the sensors and methodologies employed, among other factors.However, commonly available devices may suffer from importantinaccuracies due to variations in movement attributes during thephysical activity. Particularities in gait characteristics and otherconditions may add to the difficulties that some devices face toaccurately recognize activities. There is a need to efficiently leveragethe sensors embedded in mobile and wearable devices to accuratelydetermine gait characteristics and enable new applications.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A represents an example of mobile device user walking with thedevice.

FIG. 1B represents an example of wearable device user running with thedevice.

FIG. 1C illustrates an example of virtual environment displayed on themobile or wearable device according to one embodiment.

FIG. 2A represents an example of mobile and/or wearable device usersperforming some gait activity with their devices in a networkingenvironment.

FIG. 2B illustrates an example of virtual environment displayed on themobile and/or wearable devices in a networking environment according toone embodiment.

FIG. 3 shows an example of an embodiment of the presentation ofcontextual information on a mobile and/or wearable device.

FIG. 4 shows an example of another embodiment of the presentation ofcontextual information on a mobile and/or wearable device.

FIG. 5A presents a process flow diagram of an embodiment enabling andcontrolling an application with the user's gait characteristics.

FIG. 5B presents a process flow diagram of another embodiment enablingand controlling an application with the user's gait characteristics.

FIG. 6 illustrates a process flow diagram for the user's dynamicsinformation determination according to one embodiment.

FIG. 7 illustrates a flow diagram for the process to enhance a user'sdynamics and localization information according to one embodiment.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Although the following text sets forth a detailed description ofnumerous different embodiments, it should be understood that the legalscope of the description is defined by the words of the claims set forthat the end of this disclosure. The detailed description is to beconstrued as exemplary only and does not describe every possibleembodiment since describing every possible embodiment would beimpractical, if not impossible. Numerous alternative embodiments couldbe implemented, using either current technology or technology developedafter the filing date of this patent, which would still fall within thescope of the claims.

It should also be understood that, unless a term is expressly defined inthis patent using the sentence “As used herein, the term ‘ ’ is herebydefined to mean . . . ” or a similar sentence, there is no intent tolimit the meaning of that term, either expressly or by implication,beyond its plain or ordinary meaning, and such term should not beinterpreted to be limited in scope based on any statement made in anysection of this patent (other than the language of the claims). To theextent that any term recited in the claims at the end of this patent isreferred to in this patent in a manner consistent with a single meaning,that is done for sake of clarity only so as to not confuse the reader,and it is not intended that such claim term be limited, by implicationor otherwise, to that single meaning.

Some inventive functionality and inventive principles may be implementedwith or in software programs or instructions and integrated circuits(ICs) such as application specific ICs. In the interest of brevity andminimization of any risk of obscuring the principles and conceptsaccording to the present invention, discussion of such software and ICs,if any, is limited to the essentials with respect to the principles andconcepts within some of the embodiments.

FIG. 1A represents an individual, (101), walking with a mobile device,(102). In some embodiments, individual (101) may be performing any kindof walking, jogging, running, sprinting, or any other type of gaitactivity. In other embodiments, individual (101) may be performing anykind of activity. In some embodiments, (101) could be a human, a robot,or a non-human animal, while (102) could be any type of mobile, wearableor any other type of device (capable of being positioned in any part ofthe body or any where), with any combinations thereof also possible. Byway of example, and not limitation, (102) may represent a smartphoneheld in the hand or hands while individual (101) walks looking at itsscreen. In some embodiments, device (102) could be positioned in anypocket of individual (101), or held in any hand while walking withoutfacing the individual (by way of example, and not limitation, when theindividual does not look at the device screen), or placed in any type ofclothing or any kind of bag or accessory brought by the individual. Insome embodiments, device (102) could be positioned, placed or in any wayattached to any part of the individual's body or accessories. By way ofexample, and not limitation, in some embodiments (102) may represent anytype of hands-free device, virtual reality device, eyewear or glassesthat individual (101) is wearing in any way attached or positioned onhis/her face, head, or any other place of his/her body or accessories.In this sense, FIG. 1B represents an example of one embodiment in whichindividual (111) is running while wearing a device in the form ofglasses (112). In some embodiments (112) may represent any type ofvirtual reality device, eyewear, glasses or any other type of wearableor mobile device that individual (111) is wearing in any way attached orpositioned on his/her face, head, or any other place of his/her body oraccessories, and individual (111) may be performing any kind of walking,jogging, running, sprinting, or any other type of gait activity. Inother embodiments, individual (111) could be performing any kind ofactivity. In general, any examples/embodiments applicable to (101) and(102), are applicable to (111) and (112) respectively, and vice-versa,with any variations and/or combinations also possible.

In some embodiments, FIG. 1C may illustrate an example of screenshot ofthe display of devices (102) or (112), representing a virtualenvironment with which the individual (101) or (111) may interact. Byway of example, and not limitation, the display may show a car (110)moving along a road (140) with some elements such as traffic lights(150). Moreover, the display may also show some dashboard elements suchas (120) or (130) to indicate certain magnitudes, variables or metricsof any kind. In some embodiments, dashboard elements (120) and/or (130)may show indications applicable to the element (110) and/or toindividual (101) or (111) and/or to device (102) or (112), and/orcombinations thereof, including, by way of example, and not limitation:velocity, power, fuel, oil, pressure, temperature, battery, lights,stability, distance, direction, acceleration, stride length, heart rate,perspiration rate, blood pressure, glucose level, or any other kind ofmagnitude, variable or metric measurable in any way directly by device(102) or (112), or by any other devices and/or sensors connectable inany way to device (102) or (112), or by any other devices and/or sensorsto which individual (101) or (111) could somehow have access, or by anyother devices and/or sensors to which element (110) could have access inany form in reality or in the virtual environment being represented. Insome embodiments, the display may present comparisons of any of theuser's current gait/motion characteristic with his/her own previousones, with other users' ones, or with any type of model or information,and/or combinations thereof.

In a particular embodiment, any number of dashboard elements (120)and/or (130) may be displayed; in other embodiments, these and/or anyother elements may not be displayed, while the presence of any or all ofthese elements may be temporary depending on a plurality of criteria,such as device power management, adaptation of screen space toparticular conditions, user's choice, or any other reason. In someembodiments, the properties of any or all the elements displayed may befixed, while in other embodiments, the properties of any or all theelements displayed may vary depending on a plurality of criteria, suchas device power management, adaptation of screen space to particularconditions, user's choice, results of interaction, or any other reason.By way of example without limitation, properties in the elements thatmay be varied at any time and for any reason include, shape, color,update rate, purpose, ways of indication (needle, bar, line, etc.),location in the screen, transparency, capability of being interactive inany way, degree of interaction, or any other feature.

In some embodiments, element (110) may represent any means oftransportation, including by way of example without limitation, anytransportation means by ground (e.g. car, truck, van, train, horsepulled wagon, motorcycle, bicycle, skateboard, snowboard, sledge, etc.),any transportation means by air (e.g. airplane, military fighter,rocket, balloon, glider, etc.), any transportation means by space (e.g.spaceship, rocket, etc.), any transportation means by water (e.g. ship,boat, kayak, submarine, etc.), or any other tool, device or object ofany nature capable of moving in any way through any means, includinghybrids and/or mixtures and/or combinations thereof; in someembodiments, any aspect or property related to element (110) may becontrolled by any characteristic of the user's movement or gait.

In other embodiments, element (110) may represent any kind of humanbeing (including him/herself) or groups of human beings, or any kind ofnon-human beings or objects of any nature and form, including, by way ofexample without limitation, any type of animal or groups of animals, anytype of robots, any type of virtual, imaginary or fantasized being orobject, of any nature, shape, color, size or any other properties, andany mixtures and/or combinations thereof.

In some embodiments, one or more elements (110) may be displayed withthe same or similar properties; in other embodiments with more than oneelement (110), they may have different properties; in other embodiments,the properties of one or more elements (110) may be varied at any timedepending on a plurality of criteria, including, by way of examplewithout limitation, user's choice, results of interaction, device powermanagement, adaptation of screen space to particular conditions, or anyother reason. In some embodiments, the properties that may be variedinclude, by way of example without limitation, shape, color, form,nature, purpose, ways of movement, different capabilities (includingcapability of being interactive in any way), location in the screen,transparency, degree of interaction, or any other feature or property.

In some embodiments, element (140) may represent a road along whichelement (110) moves, or any kind of entity of any nature capable ofallowing any type of movement; in other embodiments, element (140) mayrepresent any kind of means, including by way of example and notlimitation, any kind of ground road, highway, path, snow covered field,ice platform, river, cross country fields, outer space, racing meansand/or environments of any type and nature, any kind of means of anynature (e.g. solid, liquid, gas, plasma) where any element (110) mayperform any type of movement, or any kind of real, imaginary orfantasized entity or substance, and any mixture and/or combinationsthereof.

In some embodiments, element (150) may represent traffic lights or anykind of object or being of any nature capable of influencing,regulating, monitoring and/or controlling the movement of element (110)in any way; in other embodiments, element (150) may represent any typeof object or being of any nature capable of catching the attention ofindividual (101) or (111); in other embodiments, element (150) mayrepresent any type of object or being of any nature capable ofinteracting with element (110) and/or individual (101) or (111) in anyway. By way of example and not limitation, in some embodiments element(150) may represent any type of element (similar or different to anytype of element (110)) moving in the same environment and being able tointeract with element (110) destructively (e.g. enemy car shooting atwheels, enemy zombie in the middle of the road, enemy truck spilling oilon the road, etc.) or constructively (e.g. safety truck for rescueoperations, friendly car offering prizes, friendly gnome offeringrewards, etc.). In some embodiments, interactions of some element (150)with individual (101) or (111) may include, by way of example withoutlimitation, acoustic signals, visual messages, vibration of the devicefor a certain amount of time, etc. In other embodiments, element (150)may represent any type of object or being of any kind or nature,including, by way of example without limitation, obstacles, man wavingflag indicating distance travelled, road signs, etc. In otherembodiments, the number of elements (150) displayed on the screen may beany (including more than one), and they may have any nature (includingreal, virtual, fantasized, etc.) and/or properties, including mixturesand/or combinations thereof.

FIG. 2A represents an example of an embodiment in which four individuals(201), (204), (206), (208) participate in a networking environment; inthis particular embodiment, each individual has one device: individual(201) is walking and has device (202), which may represent a smartphone,phablet, tablet, or any other type of device, including by way ofexample without limitation, any of the types of devices that (112)and/or (102) may represent. Individual (204) is running and has device(203), which may represent any type of electronic glasses, a virtualreality device, or any kind of wearable device worn on any part of thebody, or any other type of device, including by way of example withoutlimitation, any of the types of devices that (112) and/or (102) mayrepresent. In a similar way, individuals (206) and (208) are running andwearing their own devices (205) and (207) respectively, which againcould be any of the types of devices that (112) and/or (102) mayrepresent.

In other embodiments, the number of individuals participating in anetworking environment may be any, each one of the individuals may haveany number of devices of any type positioned/attached/located/worn onany place, and each one of the individuals may perform any type ofwalking, jogging, running, sprinting, or any other type of activityregardless of the type of device and/or their position. In someembodiments, the individuals (201), (204), (206), (208) and/or any othernumber of individuals participating in a networking environment, may allbe physically located next to each other in approximately the samelocation. In other embodiments, one or more (or all) individuals may bephysically located in different and/or distant locations. By way ofexample without limitation, each individual could be in a differentcity.

In some embodiments, communication between devices (202), (203), (207),(205) and/or others to enable the networking environment may leverageany means, including, by way of example without limitation, any wirelessand/or any other type of communications technology, such as LTE, UMTS,GSM, WiFi, Bluetooth and/or any other kind and combinations thereof. Insome embodiments, the means of communications and/or their propertiesmay be varied at any time and depending on any reason. These changesand/or choices may depend on a plurality of factors, including, by wayof example without limitation, network availability, physical proximityof individuals, power management, communication efficiency, specificusage plans, etc. In some embodiments where the devices are in closeproximity, they may communicate directly with each other using any kindof short-range communications technology or any other type of meansand/or technology without the need to relay on other communicationsnetworks elements such as cellular base stations or WiFi access points.

FIG. 2B represents an example of an embodiment illustrating an exampleof screenshot of the display of any or all of the devices (202), (203),(207) or (205). In a particular embodiment corresponding to a networkingenvironment such as the one represented in FIG. 2A, FIG. 2B mayrepresent an example of screenshot seen by individuals (201), (204),(206) and (208) in the display of any or all of their devices.

In some embodiments, the networking virtual environment illustrated inFIG. 2B is an extension of the virtual environment described in FIG. 1C,in which the number of individuals represented (each element (110) inFIG. 1C, corresponding to each one of the cars illustrated in scene(250)) has been adapted to account for the number of individualsparticipating in the networking environment (e.g. individuals (201),(204), (206) and (208) in FIG. 2A, instead of just individuals (101) or(111) in FIG. 1A or FIG. 1B). Also, the number and characteristics ofelements (120) and/or (130) in FIG. 1C, corresponding to any number andtype of elements (210), (220), (230) and/or (240) illustrated in FIG.2B, have been extended/adapted to account for the number of individualsparticipating in the networking environment. For the shake of clarityand simplicity of FIG. 2B, elements and/or details that may be furtherspecified/included in any part or position of said FIG. 2B, have beenavoided. However, any element described for FIG. 1C ((110), (120),(130), (140), (150)) may be included in any part or position of FIG. 2B,in any number and with any characteristic. Moreover, any other elementsthat may have not been described (for the shake of brevity some elementsmay have not been mentioned/described/specified), may also be includedin both FIG. 1C and/or FIG. 2B (and/or in their respective elements);these additional elements and/or any combination of them and/or theelements already described, may be included in any number, with anycharacteristics, with any purpose, and in any combination thereof in anyof FIG. 1C and/or FIG. 2B. In some embodiments, by way of examplewithout limitation, the networking virtual environment represented inFIG. 2B and the virtual environment represented in FIG. 1C mayillustrate/represent any kind of real, imagined or fantasizedenvironment in any conditions and with any characteristics.

In some embodiments, the networking environment in which individuals(201), (204), (206) and (208) participate may be intended to generate arepresentation of a virtual environment in the displays of theirdevices, which would be shared by all individuals (201), (204), (206)and (208) regardless of their physical location, type of device,positioning of the device, activity that the individuals are performing,or any other condition. In a particular embodiment represented in FIG.2B, individuals (201), (204), (206) and (208) from FIG. 2A could beperforming the same activity (e.g. walking, jogging, running) and eachone of those individuals would be represented in the particular virtualenvironment illustrated in FIG. 2B by each one of the cars appearing inscene (250), where a road is also represented for the cars to move alongit. In other words, regardless of the physical location and/or any otherconditions of individuals (201), (204), (206) and (208), they may allshare the same virtual environment represented in FIG. 2B displayed intheir devices, and appear in the same scene (250), where each one of theindividuals may be represented by each one of the cars displayed inscene (250), and each one of individuals (201), (204), (206) and (208)is assigned dashboard elements (210), (220), (230) and (240)respectively, equal or similar to any of those dashboard elements (120)or (130) in FIG. 1C.

In some embodiments, scene (250) may be composed of any or all of theelements described in FIG. 1C, in any number, with any characteristicsand with any variations and/or combinations thereof. In someembodiments, elements (210), (220), (230) and (240) may represent anynumber and type of elements (120) and/or (130) from FIG. 1C, again, withany characteristics, variations and/or combinations thereof.

In some embodiments, the different individuals participating in thenetworking environment and/or elements representing them (e.g. thedifferent individuals in FIG. 2A and/or the different cars in scene(250) in FIG. 2B) may interact with any other element in the networkingvirtual environment, including the other individuals and/or theirrepresentations in the networking virtual environment. By way of examplewithout limitation, in some embodiments, individuals and/or elementsrepresenting individuals in the networking environment may bythemselves, or with the help of any kind of real and/or virtual tool ordevice, trigger/execute any kind of action influencing in any way any orall of the other elements in scene (250) (including the elementsrepresenting individuals) and/or any or all of the individualsthemselves; in this sense, a set of non-limiting examples are includednext: a car representing an individual in scene (250) may crash againstanother car in the same scene, or use some weapon against other cars; ora car in scene (250) may show a visual message aimed at some specificindividual; or an individual participating in the networking virtualenvironment may select an option to disrupt the engine of any of thecars in scene (250); or an individual participating in the networkingvirtual environment may select an option to send an acoustic, visual,mechanical (e.g. vibration) or any other nature signal directly to anyother individual's device; or any other kind of variations and/orcombinations thereof.

In some embodiments, all the individuals participating in the networkingenvironment are assumed or expected to perform the same gait activity oractivities, and their experiences in the virtual environment will beinfluenced by characteristics/metrics/variables of their gaitactivities. In other embodiments, the individuals participating in thenetworking environment may be carrying out any type of activity(different individuals may also perform different activities) and thetype of activity performed by the individuals may influence theirrepresentation in scene (250) and/or their overall experience in thevirtual environment. In other embodiments, the individuals participatingin the networking environment may be carrying out any type of activityregardless of their experiences and/or representation in the virtualenvironment. Any variations and/or combinations are also possible.

In some embodiments, the individuals participating in the networkingenvironment may be moving in their real environment in any directionand/or combinations of directions regardless of their experiences and/orrepresentation in the virtual environment. In other embodiments, thereal environment direction of movement of the individuals participatingin the networking environment may influence their experiences and/orrepresentation or any other aspect in the virtual environment. The sameapplies to any individuals from FIG. 1A and FIG. 1B, who may or may notbe participating in a networking environment.

In some embodiments, the individuals participating in the networkingenvironment may be moving in their real environment with some measurablecharacteristics (including, by way of example without limitation, speed,stride length, cadence, acceleration) that may influence theirexperiences and/or representation in the virtual environment in any way;the same is applicable in cases where an individual is on his/her owninteracting with any virtual environment as described by any or all ofFIG. 1A, FIG. 1B, and FIG. 1C. In other embodiments, the individualsparticipating in the networking environment may be moving in their realenvironment with some measurable characteristics (including, by way ofexample without limitation, speed, stride length, cadence, acceleration)that may not influence their experiences and/or representation in thevirtual environment; the same is applicable in cases where an individualis on his/her own interacting with any virtual environment as describedby any or all of FIG. 1A, FIG. 1B, and FIG. 1C.

In some embodiments, all devices participating in the networkingenvironment will display the same representation of the virtualenvironment; in some embodiments, the representation of the virtualenvironment in all devices will be the same or similar, with possibleadaptations to any specificity of the devices (by way of example withoutlimitation: any adaptation due to availability (or lack of availability)of hardware in the device, any adaptation due to operating system or anysoftware characteristics in the device, any scaling to adapt to thedisplay size of the device, etc.); in some embodiments, any or all ofthe devices participating in the networking environment may have adifferent representation of the virtual environment, depending ondifferent criteria (including, by way of example without limitation,display size, power management, user's choice, activity type, activitycharacteristics, device positioning, user location, or any other reasonand/or combinations thereof).

In some embodiments, all the individuals participating in the networkingenvironment have the same representation in the virtual environment(e.g. all individuals in the networking environment are represented inthe virtual environment by the same type of cars, or by the same type ofmotorcycles, or by the same type of airplanes, etc.). In otherembodiments, any or all of the individuals participating in thenetworking environment may be represented in the virtual environment bydifferent types of elements (e.g. one individual may choose to berepresented in the shared networking virtual environment by a car, whileother individual may choose to be represented in the shared networkingvirtual environment by a motorcycle, other individual may choose to berepresented in the shared networking virtual environment by a leopard,other individual may choose to be represented in the shared networkingvirtual environment by an athlete, etc.). In other embodiments, anycombinations of the previously described possibilities of representationof individuals in any virtual environment are applicable to any type ofenvironment, including, by way of example without limitation, thepossibility of selecting and/or changing the representation of any orall of the individuals in any way, at any time and because of anyreason.

In some embodiments, the presentation of any or all of the elements(and/or any information about them) in any environment may be scalableand/or scrollable and/or modifiable and/or sortable and/or organizablein any way depending on any reason. By way of example withoutlimitation, a very large number of individuals participating in anetworking environment may trigger a process to organize informationabout the individuals in a scrollable view.

In some embodiments, the properties of any or all the elements describedor any other features of any embodiment may vary depending on aplurality of criteria, such as device power management, adaptation ofscreen space to particular conditions, user's choice, results ofinteraction, or any other reason. By way of example without limitation,the properties or features that may be varied at any time and for anyreason include: shape, color, update rate, purpose, location in thescreen, transparency, capability of being interactive in any way, degreeof interaction, or any other and combinations thereof. Also, anydescriptions, modifications and/or combinations thereof are applicableto any of the figures, embodiments and/or any of their elements.

In some embodiments, any contextual information may be displayeddirectly on the user's device display. By way of example and notlimitation, the velocity of the user may be displayed in real time(typically, fractions of a second) on the mobile device display as shownin FIG. 3, which illustrates an example of the many possibilities. Someembodiments may present the real time value and evolution of thecontextual information on the mobile device. Other embodiments maydisplay the contextual information on an external managing or monitoringentity, which may comprise computing and storing resources. Otherembodiments with different configurations and/or combinations thereofare also possible. In some embodiments, a semicircular scale may be usedto represent the velocity magnitude (310), and it may be calibrated indifferent and adaptable units and values depending on context. By way ofexample and not limitation, walking velocities may be represented from 0miles-per-hour (mph) to 6 mph. In addition, the scale may include avariety of features, such as the preferred walking velocity (330) orothers. These features may be average values or personalized values foreach particular user. Other embodiments may use other types of featuresand/or combinations thereof. By way of example and not limitation, someembodiments may use a semicircle with different colors representingvelocity values.

In some embodiments, the representation of a moving needle (320) may beleveraged to indicate the real time velocity of the user. In otherembodiments, other representations may be leveraged to indicate the realtime velocity of the user, including but not limited to, the surface ofa varying semicircle whose angle grows from 0 degrees to 180 degreesdepending on the velocity. In other embodiments, semi-arcs or othertypes of geometries, shapes, sizes, figures, etc. may also be leveraged.In some embodiments, combinations geometries and/or color may also beleveraged to display the velocity information. In some embodiments, thepresentation of information to the user or to any type of managing ormonitoring entity may be performed personalized and in any of severalways including, by way of example, and not limitation, visual, acoustic,etc. For example, a button for sound (340) may be used to enable ordisable the acoustic delivery of contextual information. This button mayalso be leveraged to enable or disable playing music or otherencouraging sound in the background, or to trigger an out-loud-readermechanism to read-out-loud contents on the display (e.g. text from awebsite, messages received from friends, etc.) when predetermined and/orselectable thresholds or levels on the user's velocity or generalcontext are reached. Another button may be used to change the units ofthe velocity (350), for example, meters per second, kilometers per hour,etc. In some embodiments, automatic localization or other means may beleveraged to infer the country of the user and automatically adaptunits, language, and other variables. Additional buttons (360) may alsobe employed for other purposes, including but not limited to, displayinga time evolution of the user velocity, dynamics, or general context overa selected or available period of time, allow personalized calibration,set preferences, etc.

In some embodiments, any element(s) described for any figure orembodiment may be optional, or any of them and any other additionalelement(s) with any features and/or combinations thereof, may also beincluded in any fashion in any figure or embodiment.

FIG. 4 represents an embodiment of a representation of the user'svelocity; in other embodiments, any other contextual information and/orgait characteristic or attribute (e.g. stride length, cadence, caloriesburned, etc. and combinations thereof) or related information may berepresented. In a particular embodiment, real-time feedback and/orcomparisons with other users and/or devices may also be allowed in anyfashion.

In some embodiments, element (410) is an optional label and may providethe name of the gait characteristic being displayed together with anyform of any possible units in which it may be measured (if applicable),or any other type of information of any nature, including abbreviations;particular examples may include: mph, miles per hour, kmh, kilometerhour, m/s, meter per second, etc. In other embodiments, if this label isincluded, depending on a variety of circumstances/conditions/choices, itmay present any type of statements (e.g. “velocity (kmh)”, “speed(mph)”, “speed (kmh)”, “stride length (m)”, “stride length (ft)”, etc.),forms, shapes, positions, nature (e.g. any picture, icon, multimediaelement, etc. and combinations thereof), or any other property and/orcombinations thereof. In some embodiments, element (420) is alsooptional and it represents chart axes or grid for clarity purposes (anyof its components is also optional and may have any characteristic); insome embodiments, the vertical axis may be scaled in any way dependingon the gait characteristic being displayed, and hold a set ofrepresentative figures together with any type of unit, statement, or anyother element of any nature, form, or any other characteristic, andarranged/aligned/distributed in any way; in a particular embodiment, thevertical axis is scaled from 0 to 6 in consecutive numbers (representingunits of velocity in miles per hour), and horizontal lines may cross thechart for each one of the presented numbers.

In some embodiments, the scale may additionally include a variety offeatures, such as the preferred walking velocity or others. Thesefeatures may be average values or personalized values for eachparticular user. Other embodiments may use any other types of featuresand/or combinations thereof. In other embodiments, any or all of thehorizontal bars and/or numbers along the vertical axis and/or any otherelement may be optional (e.g. it may not be displayed at any time forany reason) and if they are displayed, any or all of the referredelements or any other of any type that may also be added, may presentany properties/features and combinations thereof.

Element (430) represents the measurement of the gait characteristic orattribute or any other related information being displayed. In aparticular embodiment, it is a continuous line or curve (linking pointsordered in time, each point corresponding to each measurement of thegait characteristic, e.g. velocity) freely following the measurements,having up to a predetermined threshold in the number of points, andaccepting a new point to be displayed appended in a continuous form tothe right edge of the curve every time a new measurement arrives. Whenthe threshold in the number of points is reached, every time a newmeasurement arrives, the first point from the left edge (which in thisembodiment represents the oldest measurement) is discarded, and the restof points (except for the new one included at the right edge) are offsetone position towards the left, thus giving the impression of acontinuous flow of points following the arriving measurements. In someembodiments, the threshold in the maximum number of points in element(430) may be set to a fixed amount (e.g. a hundred or any other number),while in other embodiments it may be variable and depend on a variety offactors/circumstances/conditions, user's choices or any other reason. Insome embodiment, any other type of indication and combinations thereofmay be used instead of simple points or dots placed at the actualmeasurement value, such as, by way of example without limitation, anynumber of stars, squares, diamond shaped icons, any other type ofpolygon/icon/drawing/entity/element, any type of dotted lines/curves,any type of line/curve from any edge of the chart (or any other place)to the actual measurement value, any type of rectangle or any otherpolygon, icon, drawing, entity, element covering an area from any edgeof the chart (or any other place) to the actual measurement value, orany other element(s) with any properties distributed and/or organized inany way, including any modifications and/or combinations thereof. Insome embodiments, the indications may represent any type of information,including by way of example without limitation, the actual rawmeasurement of the gait characteristic being displayed, any valuederived from the raw measurement or from any group of measurements (e.g.mean, standard deviation, etc.), or any other value, information,processed data or any other element in any way related with the gaitcharacteristic and combinations thereof.

In some embodiments, the frequency at which a new point (or anyindication of any type corresponding to measurements or any other data)is introduced in element (430) may be the frequency at which a newmeasurement is generated. In a particular embodiment presenting (by wayof example) velocity, the use of (by way of example) methodology basedon the application of the wavelet transform to the acceleration signal,would allow a new measurement every time a new acceleration value isavailable; consequently, the frequency at which a new measurement isgenerated may be equal to the accelerometer sampling frequency; in otherwords, the frequency at which the gait characteristic is updated may beequal to the accelerometer sampling rate, which in some embodiments maybe higher than the user's step frequency. In some embodiments, otherfrequencies (lower or higher) may also be possible making use ofdifferent techniques, including by way of example without limitation,the use of any extra device, hardware, software, up sampling, downsampling, filtering, or any other techniques, tools and/or methodologiesand any variations and/or combinations thereof. By way of examplewithout limitation, in some embodiments the update frequency for thegait characteristic may be 60 Hz or 120 Hz depending on device hardwareand other circumstances/conditions/choices, therefore achieving anenhanced real-time presentation of information (and user experience) incomparison with other methods with lower update rates; in someembodiments, when the user's step frequency is below 1 Hz (e.g. 0.5 Hz),the update rate may also be chosen just above the user's step frequency(e.g. 0.6 Hz), or above 1 Hz, or set as the accelerometer sampling rate(e.g. 60 Hz or 120 Hz) to enhance the real-time presentation ofinformation (and user experience); other embodiments may choose anyother update frequency or characteristic by modifying any settings,conditions, and/or choices of the referred and/or any other method.Other embodiments may employ any modification to any aspect previouslymentioned, and/or combinations thereof.

In some embodiments, the presentation of information to the user or toany type of managing or monitoring entity may be performed personalizedand in any of several ways including, by way of example, and notlimitation, visual, acoustic, etc. For example, a button for sound (440)may be used to enable or disable the acoustic delivery of contextual orany other type of data/information (including by way of example withoutlimitation, any kind of multimedia streaming and combinations thereof).This button may also be leveraged to enable or disable playing music orother encouraging sound in the background, or to trigger anout-loud-reader mechanism to read-out-loud contents on the display (e.g.text from a website, messages received from friends, etc.) whenpredetermined and/or selectable thresholds or levels on the user'svelocity or general context are reached. Another button may be used tochange the units of the gait characteristic being displayed (450), forexample, velocity in meters per second, kilometers per hour, etc. Insome embodiments, automatic localization or other means may be leveragedto infer the country of the user and automatically adapt units,language, and other variables. Additional buttons (460) may also beemployed for other purposes, including but not limited to, displayingthe gait characteristic in different format, or displaying differentinformation, set preferences, modify any aspect or property of thepresentation and/or any application, etc. and combinations thereof.

In a particular embodiment, the background of the display/screen in FIG.4 (including the background of the chart (420)) may be set to a darkcolor (e.g. black) while the rest of elements (axes or grid of the chart(420), and elements (410), (430), (440), (450), (460)) are set to lightcolors. Any other settings, modifications, and combinations thereof arealso possible. In some embodiments, any of the elements in FIG. 4 and/orany of their sub-elements and/or any additional elements not describedherein may be optional (e.g. may or may not be displayed) and/or may beset and/or modified and/or organized in any other way, includingcombinations thereof, and/or any feature or any other property about anyor all of them may be set or modified in any fashion, includingcombinations thereof.

FIG. 5A represents a flow diagram of possible basic steps of someembodiments enabling and controlling an application with the user's gaitcharacteristics. Initially, sensor data is processed to determine gaitcharacteristics and activity (510); in some embodiments, only anaccelerometer (tri-axial or any other type) embedded in the user'sdevice may be used as sensor to determine the referred information,while other embodiments may employ additionally and/or independently anyother type of sensor(s), device(s), sensor(s) embedded in otherdevice(s), and/or any modifications and/or combinations thereof; by wayof example without limitation, a tri-axial accelerometer in combinationwith GPS, or in combination with GPS and/or any other sensor (e.g.gyroscope, magnetometer, pressure sensor, etc.), or GPS on its own, oraccelerometer and gyroscope on their own, or any radio-frequency basedtechnology or any other technology on its own or combined with any othertype of sensor, etc., and/or any other technology and/or methodology andvariations and/or combinations thereof may also be used for enhancedaccuracy, calibration or any other reasons/purposes. In someembodiments, processing of the sensor data may enable thedetermination/recognition of certain motion/gait characteristics and/oractivity; by way of example without limitation, processing ofaccelerometer data through the wavelet transform (further details areprovided with the description of FIG. 6) or any other methodology and/orcombinations thereof may enable the determination of power, energy,frequency components, any kinematic parameter (e.g. user's velocity),peaks distribution over time, patterns, any statistics, etc.,combinations thereof, or any other type of characteristic/information orany other data or parameter/metric that may or not be in any way relatedwith any characteristic/activity/information, etc., and any or all ofthose data, metrics, parameters, and/or characteristics, etc. may beleveraged in any fashion to determine/recognize activity. In otherembodiments, any other configuration, methodology, modification and/orcombinations thereof may be employed; by way of example withoutlimitation, some embodiments may use any type of technique/methodology(e.g. any type of machine learning technique with training data gatheredin any fashion) to recognize activity independently of any other motioncharacteristic (which may also be determined with any methodologyindependently, in parallel, in combination, or in any other wayregarding activity recognition), while other embodiments may employ anyother methodology, tools, resources, techniques and/or mixtures and/orvariations, modifications and/or combinations thereof.

In some embodiments, the gait/motion parameters or characteristics thatmay be determined/calculated/estimated/inferred include, by way ofexample without limitation, speed, stride length, cadence, totaldistance, pace, gait efficiency, energy, power, changes in acceleration,speed variability, strike time, steps, and any combination thereof. Insome embodiments, any number of gait/motion parameters and/or any otherinformation may be leveraged to determine additional gait/motionparameters in any way; by way of example without limitation, physicsprinciples may be used to determine distance (e.g. stride length) fromvelocity, and other parameters or characteristics that may be obtainedin this or other fashion include energy consumption, different types ofcosts, etc. In some embodiments, any variations of any saidcharacteristics or parameters and/or combinations thereof may also bedetermined in any fashion, and any user's characteristic such as height,weight, gender, age, etc. may also be used to help in the determinationof the motion or gait parameters.

Some embodiments may test if the user is performing any type of gaitactivity (520), leveraging any of the characteristics/data/methodologiesherein mentioned, or through any other methodology; in some embodiments,the type of user's movement that the system tries to recognize in (520)may include any activity that may be classified as human gait, in otherwords, any gait activity, including, by way of example withoutlimitation, any type of walking, jogging, running, sprinting, ascendingor descending stairs, exercising on any apparatus such as stationaryelliptical trainer or bicycle, and any variation and/or combinationthereof regardless of forward/backward direction, flat/inclined surface,type of environment, etc. In some embodiments, any gesture or movementdifferent from walking, jogging or running may not be considered as agait activity. In other embodiments, the user's movement to berecognized by the system in (520) may include any type of movementand/or activity. By way of example without limitation, a particularembodiment may consider walking, jogging, or running as gait activity.Any other variation and/or combination may also be possible.

As a result of the test in (520), in case of affirmative answer, someembodiments may enable any application and the use of gaitcharacteristics for control (540). By way of example without limitation,regarding (540), some embodiments may enable or proceed with thetriggering, launching, initiation, continuation, pausing, displaying,controlling in any way, interrupting, terminating, or any other actionor procedure or combinations thereof of any process, function,procedure, program, application, environment or any other entity orelement and/or combinations thereof, while any or all of the user's gaitcharacteristics may be leveraged to control any aspect, feature,condition, property or any other attribute of any said element(s) in anyway. In a particular example of embodiment, once the mobile or wearabledevice recognizes that the user is walking with, for example, adetermined velocity, cadence and/or stride length, the device may enableand/or display a virtual environment like the one represented in FIG.1C, where attributes of element ((110)) or any other element may becontrolled by the user's gait characteristics (e.g. the user's velocitymay control in any way the velocity of element ((110)), or the user'sstride length may control in any way the power of element ((110)), orthe user's cadence may control in any way the stability of element((110)), or any other variations and/or combinations thereof).

In some embodiments, the determined user's gait parameters, variables,or characteristics may also control any type of avatar of any form(including human, animal, object, etc.), any virtual environment, anyaspect or object or element of any virtual environment, etc. andcombinations thereof. In some embodiments, a virtual environment mayinclude, by way of example without limitation, a representation of anysetting in which the user perceives himself/herself to be and withinwhich interaction takes place; in some embodiments, the representationmay be three-dimensional; in some embodiments, the representation mayhave any number of dimensions, use any type of technology, presentationand/or projection methodology/means and combinations thereof. In someembodiments, a virtual environment may also refer to any computer-basedsimulated environment allowing for any number of users, where theenvironment and/or their rules may draw from any reality and/or fantasyworlds and/or combinations thereof. In some embodiments, other examplesof virtual environments may include, without limitation, any type ofgames, computer conferencing, chat-rooms, shared spaces, virtualreality, augmented reality, multi-user chat systems, mixed realityenvironments, multi-user games, multi-user games with persistent storagefeatures, multi-user interactive environments, immersive environments,collaborative virtual environments, any other form of virtual habitats,etc. and/or combinations thereof. By way of example without limitation,in a particular embodiment, a game object may be controlled bycharacteristics of the user's gait in any fashion; for instance, aplayer may increase or decrease the speed of a car (e.g. element (110)in FIG. 1C, or any of the cars in scene (250) from FIG. 2B) in a game byincreasing or decreasing his/her actual walking speed. In someembodiments, the determined user's gait parameters/variables may alsocontrol any aspect/property of the device (including any type and/oraspect of user interface, settings, etc.), or may also control anyinitiating, launching, influencing/altering in any way or terminating atask, program, application, function, communication or any other type ofelement or event or procedure that may have any influence on the user'sdevice and/or any other devices, elements, processes, applications, etc.associated/connected in any way with the user's device; any variationsand/or combinations thereof are also possible. In some embodiments,irregularities in the user's gait may also be detected through thecomparison of any gait characteristic with known regular values storedanywhere in any fashion, or by means of any other method, and beleveraged to control any of the aspects/objects/entities etc. previouslymentioned in any fashion.

In some embodiments, if the answer to the test in (520) is negative, theuser will be prompted, or communicated in any way (e.g. text, visualmessage, acoustic message, mechanical vibration, etc. and combinationsthereof) about the need to start a gait activity (530) in order toenable the application, proceed to the next level, continue a process,etc. as described for (540). The system may continue processing sensordata determining motion characteristics and activity, and keepcommunicating the user to start gait activity until a gait activity isrecognized. In some embodiments, the system may employ a predeterminedtime as a threshold (a value which may be constant or variable dependingon user's context, choice, etc.), after which, if the user has notinitiated a gait activity, the whole process/application/procedure orsome aspect of it may be terminated and/or some element may be disabled.In other embodiments, any condition, event, action, etc. may be used toend this loop and terminate the whole process, continue to the next stepin some way, or any other possibility depending on anyreasons/circumstances and combinations thereof.

FIG. 5B represents an extension of the flow diagram of possible basicsteps from FIG. 5A that may be applicable to other embodiments. By wayof example without limitation, as a result of the test in (520), in caseof affirmative answer, following step (540), the device may becontinuously processing sensor data and measuring or determining theuser's gait characteristics and activity (550), in order to update thecontrolling characteristics and their controlled elements in any way(for example as described for (540)) with any change. This may berepresented by step (570) in FIG. 5B, which is reached afteraffirmatively testing that gait activity is continuing (560). In case ofa negative result from the test in (560), the system would communicatethe user to start gait activity (530) and start the processing of sensordata to determine characteristics and activity (510) again. It is worthnoting that in some embodiments, steps (550) and (510) may presentdifferences, because step (550) may make use of someassumptions/knowledge of past states which may not be available for step(510) when the processing is started from scratch; consequently, step(550) may present some simplifications and/or advantages over step(510). In other embodiments, any differences may be avoided depending onany reasons/circumstances. In a similar way, it is worth noting thatsteps (540) and (570) may present some differences in some embodimentsbecause of reasons similar to those noted for (550) and (510), while inother embodiments any differences may be avoided depending on anyreasons/circumstances. It is also worth noting that in some embodiments,the controlling performed with the gait characteristics or in any otherway may include the possibility of interrupting, pausing, terminating orin any other way modifying the influence or control of the user over anyof the referred elements. By way of example without limitation, thedevice may disable or terminate the application (580), or the device maydisable or terminate the displaying of any or all aspects or elements ofthe virtual environment represented in FIG. 1C or FIG. 2B when the userstops walking or when the user performs any action (e.g. press a button,perform some voice command, perform a certain movement, etc. and/orcombinations thereof).

Some embodiments may allow any variations, modifications, additions,eliminations, etc. and/or combinations thereof.

FIG. 6 illustrates a flow diagram of one embodiment with possible basicsteps of a method for providing a user's dynamics information. Theavailable sensors in the device are recognized in (610). Someembodiments may employ adaptable algorithms to be able to work withdifferent types of devices (which may have, by way of example, and notlimitation, different operating systems, different hardware features,different types of sensors, etc.). In some embodiments, the user'smobile device may have multiple sensors and sensor fusion techniques maybe applied to enhance the solution. In other embodiments, the user'sdevice may have very basic functionality and be equipped with a singleaccelerometer, and the algorithm will adapt to those devices to provideadequate results.

For the purpose of obtaining the dynamics of the user through theprocessing of sensor(s) signal(s), some embodiments may select anappropriate sampling frequency, which optimizes performance and attemptsto minimize power consumption. In some embodiments, it may not bepossible to set a desired sampling frequency (620). By way of example,and not limitation, some operating systems may allow the selection ofpredefined sampling frequency levels, which may work as indicators ofthe final sampling frequencies, but there is no guarantee of obtaining aspecific frequency value. In fact, the final sampling frequency valuesmay also be device and hardware specific. In conclusion, the algorithmin some embodiments will need to adapt to the available samplingfrequencies in each particular device. In this sense, the samplingfrequency may be selected (630) taking into account two criteria: first,performance optimization; second, power consumption minimization. Infact, optimum performance may depend on the sampling frequency amongother factors. In some embodiments, the quality of the results obtainedthrough the application of the wavelet transform to process thesensor(s) (e.g. accelerometer) signal(s) may depend on the samplingfrequency. Once the desired or available sampling frequency has beenselected, that frequency is set in the device (640). Some embodimentsmay use single axis sensor information to be processed (by way ofexample and not limitation, acceleration in x-axis, acceleration iny-axis, acceleration in z-axis). Some embodiments may use the signalvector module to be processed (by way of example and not limitation, thesignal vector module of a tri-axial accelerometer). Some embodiments mayuse different configurations and/or combinations of sensors signals(including but not limited to sensor fusion information) to beprocessed. It must be noted that in some embodiments, the set frequencymay still vary depending on a variety of factors, including but notlimited to, device-specific behavior. Consequently, in some embodiments,a frequency resetting procedure may be necessary to maintain desiredperformance. Some embodiments may use dynamic selection of samplingfrequency; by way of example and not limitation, when periods ofinactivity are detected, the sampling frequency may be reduced in orderto minimize power consumption, and once some activity is detected again,the sampling frequency may be increased again to deliver desiredperformance.

In some embodiments, the selection of the transformation parameters toprocess the sensor(s) signal(s) may take place after the samplingfrequency is set (650). In some embodiments, the wavelet transform maybe applied for processing sensor(s) signal(s). In other embodiments,other transformations may be applied, including but not limited to,short-time Fourier transform, other techniques leveraging Fourieranalysis, application of filter banks, etc. In other embodimentsdifferent combinations of techniques, methodologies and transformationsincluding wavelets maybe used. In some embodiments, the parameters ofeach transformation, which by way of example and not limitation, maycomprise levels of decomposition, mother wavelet, processing time windowparameters, etc. may be set appropriately/dynamically to optimizeperformance and minimize computation burden.

In some embodiments, the appropriate transformation coefficients may beobtained (660) and be leveraged in subsequent processes in combinationwith other parameters and metrics (670). In some embodiments, theapplication of metrics with the previously obtained information resultsin excellent correlations with the velocity of the user, and theactivity of the user (e.g. walking, running, jumping, etc.), leading toa characterization of the user dynamics (680). In some embodiments, byway of example and not limitation, weighted (e.g. by levels, number ofcoefficients, etc.) energies of wavelet transform coefficients mayprovide an excellent indicator to directly choose the appropriatecoefficients from which to obtain a reconstructed wave whosepositive-to-negative transitions will mark each step of the user. Insome embodiments, useful metrics may comprise the summations of thesquare of transformation coefficients, these summations scaled by somefactor (including but not limited to the number of coefficients, thenumber of levels of decomposition, a constant, etc.), or any other typeof combinations. In some embodiments, the summations of weightedenergies of transformation coefficients adequately scaled by some factor(including but not limited to level of decomposition) may provide anexcellent correlation with the kinetic energy of the user. In someembodiments, some of the coefficients may be avoided for the calculationof metrics, and appropriate combinations of summations of weightedenergies may be leveraged to compute information comprising velocity. Insome embodiments, criteria to avoid transformation coefficients in thecalculation of metrics may comprise: selection of a threshold, frequencycontent, etc. Some embodiments may leverage statistics (including butnot limited to, range, mean, skewness, standard deviation, etc.) of theenergies of transformation coefficients, or any other features orcombinations thereof to be combined with the previously mentionedcomputed kinematic information and obtain user dynamics informationcomprising activity. By way of example and not limitation, someembodiments may leverage as metrics the summations of descriptivestatistics (or combinations of them) of energies of transformationcoefficients of predetermined levels (choice criteria may comprisethreshold, frequency content, etc.), in combination with othersummations of descriptive statistics (or combinations of them) ofenergies of transformation coefficients of predetermined levels (choicecriteria may again comprise threshold, frequency content, etc.), incombination velocity information.

By way of example without limitation, we have carried out tests toestimate spatio-temporal parameters in walking and running patterns,analyzing in real time through the wavelet transform the signalsobtained from the embedded accelerometers from mobile devices (e.g.mobile phones Android, iOS) placed on different parts of the body. Insome of the tests, measurements were taken for 9 different types ofgait, classified according to 3 different speeds (fast, normal and slow)and 3 different step lengths (long, medium and short). Wavelet transformparameters during some of the tests were dynamically adapted followingcriteria including performance optimization and power minimization;examples of parameters included: sampling frequencies ranging from 5 Hzto 200 Hz, mother wavelets including several of the Biorthogonal,Daubechies, Coiflets, Haar, Meyer, Mexican Hat, Morlet, Symlet and otherfamilies, etc. Through the application of the wavelet transform to theacceleration signal, we focus on the approximation (ai) and detail (di)coefficients, together with their reconstruction signals and theirenergies defined as follows: Edi, representing the energy of the detailcoefficients at level i, equals to the summation of the squares of thedetail coefficients considered at level i, divided by the number ofcoefficients considered; and Eai, representing the energy of theapproximation coefficients at level i, equals to the summation of thesquares of the approximation coefficients considered at level i, dividedby the number of coefficients considered; choice criteria for thecoefficients may include thresholding and frequency content. Ourexperiments show that the signal reconstructed from the detailcoefficients at specific levels offers precise information to clearlydistinguish steps as the time elapsed between two consecutivenegative-to-positive transitions in that reconstructed signal. We alsoobserve that the energy of the detail coefficients may work as anindicator (the largest value dominates) to the previously referredspecific levels. In the same sense, for particular scenarios such as the“slow-short” walking pattern, weighted energies for the detailcoefficients obtained as Edi divided by the product of the square rootof 2 multiplied by: (J−i) when i ranges from 1 to J−1 or 1 when i equalsJ, where J represents the number of levels of decomposition in thewavelet transform, may deliver a more accurate metric, which also worksfor the rest of types of gait. Next, focusing on the energies of theapproximation coefficients, it is possible to find a good correlationwith the kinetic energy of the mobile device user. Consequently, aproper calibration can deliver the speed of the user directly throughthe energy of the approximation coefficients from the wavelet transform.Leveraging this velocity, the step length can be obtained leveraging thepreviously obtained time duration of each step.

Further reviewing the wavelet transform decomposition of a signal intoapproximation and detail coefficients, it can be seen that we areintegrating the signal, which in our case represents acceleration,weighted by the scaling and wavelet functions. Consequently, we areintegrating weighted accelerations, therefore making sense that we areobtaining weighted velocities. Further analyzing the relationshipbetween the weighted energies of the detail coefficients and the kineticenergy of the mobile device user, we can actually estimate the speed ofthe user as half the square root of the summation of the previouslydefined weighted energies of detail coefficients divided by theirrespective orders of decomposition level.

Further studying the relationship between the detail coefficients andthe velocities of the different gait patterns, other variants of theprevious computation can be proposed to obtain velocity, which allow usto consider the trade-offs between accuracy in the results andcomputational burden of the different variants. For instance, usingdiscrete version of Meyer as mother wavelet and focusing on a gaitpattern with dominant frequency of 1.256 Hz (scale 16 in cwt), and if weemploy more than 5 decomposition levels, the different variants toobtain velocity may differ on the consideration of the wavelet transformdetail coefficients at levels 1 and the last level, which may accountfor the trade-off between accuracy and computational costs of theresults. In particular, detail coefficients at the last level havegenerally the lowest energy, thus providing small increases in theaccuracy of the results, although for the slow walking patterns wherethe overall levels of detail coefficients have low energy, theconsideration of the last level coefficients can improve the resolutionof our approach. In a similar way, first level detail coefficients haveusually low energies, and since the amount of these particularcoefficients is the largest, avoiding them in the calculations can helpto minimize the computational burden of our method without compromisingthe accuracy in the results.

Some embodiments may leverage the previously mentioned information aboutthe user's steps in combination with other metrics to enhance user'sdynamics information, comprising velocity and activity. Some embodimentsmay leverage the obtained information on user's steps in combinationwith the information on user's dynamics to determine stride length. Someembodiments may leverage the information on user's dynamics to computedistance. Some embodiments may enhance distance through the combinationof user's dynamics information with localization information. Someembodiments may use different techniques, principles and/ormethodologies to obtain all the previous information and metrics,including but not limited to machine learning. In some embodiments, allthe computation, processing, information presentation, and other stepsmay be carried out within a single mobile device without the need ofexternal resources. In some embodiments, the computation or some otherstep or combinations of steps may be performed external to the mobiledevice, or with the assistance of some external element, such asexternal sensor, server, database or any other element. In someembodiments, software may be stored on the mobile or wearable device,for instance, in its memory for execution by its processor orprocessors. Some embodiments may store data structures and code oncomputer readable storage medium, which by way of example, and notlimitation, may comprise field-programmable gate arrays,application-specific integrated circuits, magnetic and/or opticalstorage devices, etc.

In some embodiments, the sensor portion of the device or the deviceitself or any other device containing a sensor and with the capabilityto communicate in any fashion with the user's device, or any other typeof device or accessory may be positioned or attached to any part of theuser, including by way of example without limitation, the wrist, arm,hand, face, head, waist, chest, pocket, hat, shoe, any type of clothing,accessories and any combinations thereof and in any way. In someembodiments, the system may be trained to recognize and/or learnactivity, motion type, attachment position of the device, movementcharacteristic, etc. In some embodiments, analysis of accelerationsignature may help determine activity, motion type, attachment positionof the device, movement/gait characteristic, etc. By way of examplewithout limitation, the acceleration signal may be processed to identifymaximums, minimums, mean, standard deviation, frequency components,period, orientation, distribution of peaks, patterns, etc. and/orcombinations thereof in order to help determine activity, motion type,attachment position of the device, movement/gait characteristic, etc. Insome embodiments, Fourier analysis, any kind of filtering, peakcounting, determination of frequency components leveraging the wavelettransform or any other method and combinations thereof may also beutilized to determine user's gait activity, characteristics, etc. Insome embodiments, any type of prompt to the user may also be leveragedto request information about his/her activity, motion type, attachmentposition of the device, movement/gait characteristic, etc. In someembodiments, activity, motion type, attachment position, movement/gaitcharacteristic, etc. may be determined through correlation of any typeof sensor values or any type of parameter or metric generated with them,based on any type of model that has been calibrated in any fashion for aparticular activity, motion type, attachment position, movementcharacteristic, etc. In some embodiments, any other sources, means,methods and/or configurations may be leveraged to determine activity,motion type, attachment position, movement/gait characteristic, etc.,including by way of example without limitation, the use of sensorsand/or signals obtained independently of the sensed acceleration (e.g.GPS), the use of statistics and/or any other empirical information,algorithms, databases or other information stored anywhere and in anyfashion, combinations thereof, etc. In some embodiments, the referredmethods, configurations, systems, etc. may be modified, updated and/orcalibrated in any way, periodically or continuously over any timeinterval.

Some embodiments may include any external sources to obtain anyparameter or information about movement, environment, context, etc.including by way of example without limitation, speed and/or distancemonitors, any number of portable electronic devices (e.g. GPS receivers,any kind of computing and/or communications device, etc.), databasesand/or networks. In some embodiments, other types of inputs may also beutilized, including by way of example without limitation, buttons, keys,keyboards, keypads, touchpads, joysticks, etc., which may be used in anyfashion. Any type of satellite based navigation systems, cellularcommunications networks and other systems/networks may also be used toobtain speed in some embodiments (and/or provide feedback to helpcorrect errors) under certain conditions.

In some embodiments, additional inputs may include traces fromtouch-sensitive screens, button presses, gesture recognition, voicecommands, switches, and/or any other type of technological, physical orany nature means that allow the user to interact, and combinationsthereof. In some embodiments, in addition to using gait characteristicfor control, further control may be performed through any additionalmovements that the user may perform with the device, such as any type oftilting or any kind of gestures, including by way of example withoutlimitation, any kind of raise, swing, twist, touch, press, swipe, drag,double touch, pinch, etc., and combinations thereof, regardless ofperforming them with or without direct contact to the device screen orany other element (e.g. the user may perform the pinch gesture touchinga screen or in the air without touching a solid element). In someembodiments, any type of method may be employed to distinguish betweendifferent types of gestures, swings, twists, etc. that the user makeswhile he/she performs a pedestrian activity (e.g. walk, jog, run, etc.);by way of example without limitation, frequency analysis, filtering,acceleration thresholding, analysis of projection of gravity vector,feedback from other sensors, or any other technique/method andcombinations thereof may be employed.

In some embodiments, the acceleration sensor may be an electrostatic orcapacitance-coupling type, or any other technology (e.g. piezoelectricor piezoresistance type) now existing or later developed, and may beconfigured to deliver three-axis, two-axis, or one-axis acceleration. Insome embodiments, in addition to accelerometers, any other type oftechnologies and/or sensors such as gyroscopes, magnetometers, pressuresensors, cameras, GPS, etc. may be used in any way to enhance accuracyor for any other purposes. In some embodiments, the user may have anynumber of any type of sensors, sensor units, devices, or accessorieslocated anywhere in any fashion to determine the characteristics ofhis/her movement and/or for control or any other purposes.

In some embodiments, any processing, detection, recognition, or anyother actions or operations may be performed regardless of the mode,state or any other condition of the device, application or any otherentity, process or element. In other embodiments, any number ofconditions and/or criteria of any type must be satisfied beforeproceeding with any of said actions or operations.

Any of the embodiments herein described may be implemented in numerousways, including as a method, an apparatus, a device, a system, acomputer readable medium, etc., and also be applicable in anyenvironment, application (game, non-game, etc.), condition, etc.regardless of number of users, physical proximity, communication means,device, or any other factor.

Other configurations are also possible. By way of example, and notlimitation, in some embodiments, all or part of the processes may beperformed by chip-level systems, third-party applications, operatingsystem kernel, firmware, or any other combination of hardware and/orsoftware. In some embodiments, the software may be delivered in avariety of forms, including but not limited to, as stand-aloneapplication, as library, as application programming interface, etc. Ingeneral, the functions of particular embodiments may be achieved by anymeans as is known in the art. Some embodiments may use distributed,networked sensors and/or systems, components, servers, databases, and/orcircuits, and/or any combination of additional hardware and/or softwareand/or processing techniques and methodologies. Some embodiments may useany other type of sensor and/or system.

In some embodiments, sensors may be any of several types including, byway of example, and not limitation, any type of device, transducer orany other type of apparatus which may measure some quantity; in someembodiments, sensors may be implemented in any size, with any type oftechnique and technology, including but not limited to electronic,microelectronic, nanoelectronic, etc. By way of example, and notlimitation, sensors may comprise any type of accelerometer,magnetometer, gyroscope, pressure sensor, proximity sensor, etc. and anyother type of device sensitive to radio-frequency, sound, ultrasound,light, etc. including but not limited to, GPS antennas and/or theirsensitive elements, WiFi antennas and/or their sensitive elements, andany other type of radio-frequency technology antennas and/or theirsensitive elements. In some embodiments, sensors are integrated withinthe mobile or wearable device. In some embodiments, sensors or othermobile or wearable devices may be distributed outside the main mobile orwearable device, and they may communicate with the main mobile orwearable device by any means. Communication or transfer of data may bewired, wireless, or by any other means. In some embodiments, the user orother entity may rearrange characteristics of the components, or otherfeatures or elements of the system and the system may automaticallyadjust to new settings or arrangements.

In some embodiments, a method for enhancing a user's dynamics andlocalization information may be used as shown in FIG. 7, whichillustrates a flow diagram of possible basic steps. The availablelocalization technologies are recognized in (710). By way of example andnot limitation, localization technologies or methodologies may includesatellite-based systems such as GPS, radio-frequency fingerprintingbased techniques, and others based on various techniques, principlesand/or technologies, including their combinations through a variety ofmethodologies such as Kalman filtering, particle filtering, etc.Regarding the radio-frequency fingerprinting based techniques, severaltechnologies may be employed, including but not limited to, WiFi,cellular, Bluetooth, Zigbee, digital television, etc. In someembodiments, the use of satellite-based localization technologies may beavoided because the user may be located within buildings, urban canyons,or other environments in which the performance of these technologies isdegraded. Even in those outdoor environments where the device mayreceive good quality signal from the satellites, these satellite-basedsystems may be avoided due to their high power consumption. In someembodiments, other localization techniques, technologies andmethodologies may be used, including but not limited to, Near FieldCommunications, Ultra Wide Band, acoustic, ultrasound, any type ofradio-frequency, etc. The available sensors in the device are recognizedin (720). In some embodiments, these sensors may include accelerometer,magnetometer, gyroscope, pressure sensor, and others. In someembodiments, the device may include very basic functionality and thealgorithm may need to adapt and perform efficiently with a singleaccelerometer. In other embodiments, the sensors in the device mayinclude more than a single accelerometer, and sensor fusion techniquesmay be used. In other embodiments, other configurations of sensors maybe possible.

In some embodiments, recognizable places may be set as landmarks fromwhich to extract very precise features regarding their location andgeneral context (730). By way of example and not limitation, RadioFrequency Identification, Bluetooth, Zigbee and/or other technologiesand/or combinations of them may be leveraged using a variety oftechniques to identify landmarks with a very high resolution. Leveragingthe information on the user's dynamics, some embodiments may obtainaccurate inertial navigation information (740). In some embodiments withbasic functionality where the device may not be equipped with gyroscopeand/or magnetometer, a variety of mechanisms to identify straight-linetrajectories may be leveraged to adapt the inertial navigation solution.When a new identifiable landmark is reached, location and generalcontext features are extracted (750). By way of example and notlimitation, some embodiments may use GPS outdoors, or radio beaconsindoors detected as peaks in signal strength within aradio-fingerprinting localization system, to identify landmarks. Inother embodiments, the use of other types of beacons or landmarks,derived from a variety of technologies, that may use a variety ofprinciples to obtain the required information, is also possible. Thisinformation may be leveraged using a variety of possible techniques andmethodologies to correct possible errors on the user's dynamics andenhance the localization solution (760). Some embodiments may use manualcalibration by the user introducing required calibration parameters inways he/she may choose from a variety of techniques, technologies andmethodologies. Other embodiments may use automatic calibration. In someembodiments, the calibration may be successfully applied to enhance boththe information on localization and the user's dynamics and contextualinformation.

Some embodiments may use all the available information to identify theposition (and transitions between positions) of the mobile device withinthe user's body; by way of example and not limitation, the positioninformation may comprise: held in front in reading position, held inhand while walking, held in pocket while walking, etc. Some embodimentsmay use external elements comprising user's input to identify positions;in other embodiments, positions will be recognized internally by themobile device leveraging sensors information.

Some embodiments may use any type of smartphones, mobile devices,wearable devices and/or sensors, or any other types of devices orcombinations of them, including but not limited to, personal digitalassistants, personal navigation systems, portable electronic devices,tablets, laptops, computers, and their peripheral devices. In someembodiments, the definition of mobile device may comprise any type ofmobile phone, smartphone, wearable device and/or sensor, or any othertypes of device or wearable or combinations of them.

Some embodiments may use combinations of strategies and techniques,including, by way of example, and not limitation, machine learningtechniques, probabilistic models, sensor fusion techniques, extractionof statistics, employment of filter banks, application of dimensionalityreduction techniques, a variety of approaches for classification, etc.Details are omitted to improve the clarity of the description. Inaddition, some embodiments may use a variety of programming languagesand methodologies in combination with varied hardware configurations andexecution strategies.

Some embodiments may leverage context information and providesupplemental information, which may be obtained through any means andsources, including but not limited to, social networks. Particularembodiments may also be used for targeted advertising or targetedinformation based on context, enable shopping of any type of product orservice which may or may not be related to the contextual information,etc.

In some embodiments, various applications may use the obtainedinformation as a trigger for activation. Alternatively, a user may beable to set preferences for different applications depending on theobtained information. By way of example, and not limitation, a user mayset the font size and other features of the content (also obtainablethrough internet or any other means) in his/her mobile device displayaccording to his/her dynamics to improve the reading experience. By wayof example, and not limitation, the user may or may not haveear-speakers or head-phones or any other appropriate hardware connectedto his/her device and he/she may opt for triggering an out-loud-readeror other type of application to read-out-loud or in some other way adaptthe presentation of the content in the device display when his/herdynamic information stays within some preselected threshold levels. Byway of example, and not limitation, application(s) and/or service(s) mayrequest, trigger or in some way enable advertising from a commercial adserver or any other type of server or entity using either velocityinformation, user dynamics, key words, or other criteria as advertisingkeys. In some embodiments, the user's velocity and other information,including advertisements, may be presented on the mobile and/or wearabledevice for consideration by the user. Again, depending on preferencesand personal privacy policies, information and lists of acquaintances,either desired or undesired, may be presented to the user or to desiredfriends or other people.

Some embodiments may be used to enhance the location information and toidentify points of maximum wireless signal strength, or points with nosignal strength, enabling applications or services that effectivelyleverage that information. Applications of some embodiments may includeroute searching, planning and optimization, precise geo-tagging ofphotos, etc. By way of example and not limitation, personalized routingin maps using pedestrian velocity, may enhance features such as traveltime estimation, places of interest, navigation, context-based search,etc. For example, a pedestrian walking from home to University may bemore interested in sandwich shops rather than gas stations.

Applications of some embodiments may comprise monitoring a variety ofinformation of people in a variety of circumstances or contexts,including but not limited to, health-care, army, sports, etc. Someembodiments may perform the monitoring in a remote way and/or extend themonitoring to animals, robots, machines, etc. In some embodiments,services may be provided through subscription. Some embodiments may beapplied for the estimation of calories consumption, or the diagnosis ofdiseases, such as Parkinson's or other neurodegenerative diseases. Someembodiments may be applied for the identification and/or treatment ofdisorders, such as gait disorders, associated with a wide variety ofconditions, including but not limited to neurologic and orthopedicconditions. Some embodiments may obtain a wide variety of user'sinformation, including but not limited to velocity, activity, stridelength, cadence, step count, gait patterns, distance, etc. Someembodiments may apply the information to help in the prevention offalls, accidents or any other undesirable events. Applications of someembodiments may also include contextual interactions, interactive games,augmented reality, and other types of services. By way of example, andnot limitation, in games, the attacking and/or crashing strength orpower of a user may be set proportional to his/her velocity and certainevents or communications may be triggered based on context.

In some embodiments, the obtained information may be used for socialnetworking applications, such as finding and/or establishingcommunication and/or sharing information with friends and/or otherpeople and/or groups of people whose contextual information might ormight not in some way be related. By way of example, and not limitation,in some embodiments, users may be able to share and see the real-timeand/or historical contextual information of their friends, editcontextual information on maps, etc. In some embodiments, theobservation of two or more mobile and/or wearable devices followingsimilar contextual patterns, may lead to infer a friendship.

Some embodiments may also be applied to infer information from a widerange of biological or other types of sensors/signals, either fromhumans, animals, mechanical entities such as robots or other machines,etc. Other embodiments may also be applied to monitor and optimize avariety of processes, including but not limited to, industrial andmanagerial processes. Other embodiments may also have many moreapplications.

Although the foregoing text sets forth a detailed description ofnumerous different embodiments of the invention, it should be understoodthat the scope of the invention is defined by the words of the claimsset forth at the end of this patent. The detailed description is to beconstrued as exemplary only and does not describe every possiblyembodiment of the invention because describing every possible embodimentwould be impractical, if not impossible. Numerous alternativeembodiments could be implemented, using either current technology ortechnology developed after the filing date of this patent, which wouldstill fall within the scope of the claims defining the invention.

Thus, many modifications and variations may be made in the techniquesand structures described and illustrated herein without departing fromthe spirit and scope of the present invention. Accordingly, it should beunderstood that the methods and apparatus described herein areillustrative only and are not limiting upon the scope of the invention.

The invention claimed is:
 1. A method for monitoring a user of a mobiledevice in real time, the method comprising: reading data from anaccelerometer within the mobile device; a dynamic selection of asampling frequency of the accelerometer, and a dynamic selection ofwavelet transformation parameters, comprising levels of decompositionand a mother wavelet, following at least two criteria: an accuracyoptimization and a minimization of computational costs; obtaining anenergy of wavelet transformation coefficients of the accelerometer data,and leverage said energy to estimate a velocity of the user; presentingon the mobile device a moving object whose movement is controlled by theestimated velocity; leveraging energies of wavelet transformation detailcoefficients to choose detail coefficients from which to obtain areconstructed wave from where each step of the user is identified;combining a step time information with the velocity estimation toestimate a step length.
 2. The method of claim 1, wherein the energy ofwavelet transformation coefficients of the accelerometer data leveragedto estimate the velocity of the user, is the energy of wavelettransformation approximation coefficients.
 3. The method of claim 2,wherein wavelet transformation parameters in the dynamic selection ofwavelet transformation parameters, comprise: sampling frequenciesranging from 5 Hz to 200 Hz, and mother wavelets including several ofthe Biorthogonal, Daubechies, Coiflets, Haar, Meyer, Mexican Hat,Morlet, Symlet and other families.
 4. An apparatus comprising: aprocessor; a non-transitory processor-readable medium including one ormore instructions which, when executed by the processor, causes theprocessor to monitor a user of a mobile device in real time by: readingdata from an accelerometer within the mobile device; a dynamic selectionof a sampling frequency of the accelerometer, and a dynamic selection ofwavelet transformation parameters, comprising levels of decompositionand a mother wavelet, following at least two criteria: an accuracyoptimization and a minimization of computational costs; obtaining anenergy of wavelet transformation coefficients of the accelerometer data,and leverage said energy to estimate a velocity of the user; presentingon the mobile device a moving object whose movement is controlled by theestimated velocity; leveraging energies of wavelet transformation detailcoefficients to choose detail coefficients from which to obtain areconstructed wave from where each step of the user is identified;combining a step time information with the velocity estimation toestimate a step length.
 5. The apparatus of claim 4, wherein the energyof wavelet transformation coefficients of the accelerometer dataleveraged to estimate the velocity of the user, is the energy of wavelettransformation approximation coefficients.
 6. The apparatus of claim 5,wherein wavelet transformation parameters in the dynamic selection ofwavelet transformation parameters, comprise: sampling frequenciesranging from 5 Hz to 200 Hz, and mother wavelets including several ofthe Biorthogonal, Daubechies, Coiflets, Haar, Meyer, Mexican Hat,Morlet, Symlet and other families.
 7. A non-transitoryprocessor-readable medium including instructions which, when executed bya processor, causes the processor to monitor a user of a mobile devicein real time by: reading data from an accelerometer within the mobiledevice; a dynamic selection of a sampling frequency of theaccelerometer, and a dynamic selection of wavelet transformationparameters, comprising levels of decomposition and a mother wavelet,following at least two criteria: an accuracy optimization and aminimization of computational costs; obtaining an energy of wavelettransformation coefficients of the accelerometer data, and leverage saidenergy to estimate a velocity of the user; presenting on the mobiledevice a moving object whose movement is controlled by the estimatedvelocity; leveraging energies of wavelet transformation detailcoefficients to choose detail coefficients from which to obtain areconstructed wave from where each step of the user is identified;combining a step time information with the velocity estimation toestimate a step length.
 8. The non-transitory processor-readable mediumof claim 7, wherein the energy of wavelet transformation coefficients ofthe accelerometer data leveraged to estimate the velocity of the user,is the energy of wavelet transformation approximation coefficients. 9.The non-transitory processor-readable medium of claim 8, wherein wavelettransformation parameters in the dynamic selection of wavelettransformation parameters, comprise: sampling frequencies ranging from 5Hz to 200 Hz, and mother wavelets including several of the Biorthogonal,Daubechies, Coiflets, Haar, Meyer, Mexican Hat, Morlet, Symlet and otherfamilies.